import Vue from 'vue'
import App from './App.vue'
// 1. 引入vuex
import Vuex from 'vuex'

// 2. 将vuex注册到vue中
Vue.use(Vuex); // Vue.use()实际上是调用了Vuex中的install()方法.

// 3. 实例化vuex对象
const store = new Vuex.Store({
    state: {},
    // modules模块化: 与state、mutations等等同级
    modules: {
        // 模块1的定义
        user: {
            state: {
                token: '123456'
            }
        },
        // 模块2的定义
        setting: {
            state: {
                name: 'modules模块化练习'
            }
        }
    },
    getters: {
        // 方式2 快捷访问模块中的数据
        token: state => state.user.token,
        name: state => state.setting.name
    }
});

Vue.config.productionTip = false

new Vue({
    render: h => h(App),
    store // 4. 将Vuex(或叫store)对象挂载到根组件中.
}).$mount('#app')